

// 1. 得到用户输入
const account = document.querySelector('#uname')
const pw = document.querySelector('#pw')
const code = document.querySelector('#code')
const span = document.querySelector('#container div:nth-child(3) span')
const form = document.querySelector('form')
const btnlogin = document.querySelector('#btnlogin')
const btn = document.querySelector('.btn')
// console.log(span)



// 1. 验证输入
// 1.2 验证用户名输入
account.addEventListener('change', verifyAccount)
// 封装函数
function verifyAccount() {
  const reg = /^[a-zA-Z0-9_]{6,10}$/
  if (!reg.test(account.value)) {
    span.innerHTML = '账号输入错误，请输入6~10位的字母、数字或_'
    return false
  }

  span.innerHTML = ''
  return true
}

// 1.3 验证密码输入
pw.addEventListener('change', verifyPw)
// 封装函数
function verifyPw() {
  const reg = /^[a-zA-Z0-9-_]{6,20}$/
  if (!reg.test(pw.value)) {
    span.innerHTML = '输入错误，请输入6~20位的字母、数字或_'
    return false
  }

  span.innerHTML = ''
  return true
}


// 获取验证码
let random = ''
btn.addEventListener('click', function () {
  random = Math.floor(1000 + Math.random() * 9000).toString()
  console.log(random)
  btn.innerHTML = random
})

// 1.4 验证 验证码输入
code.addEventListener('change', verifyCode)
// 封装函数
function verifyCode() {
  if (code.value !== random) {
    span.innerHTML = '验证码错误，请重新输入'
    return false
  }

  span.innerHTML = ''
  return true
}


// 2 封装函数  登录
function signIn() {
  // 2. 登录
  // 2.1 读取本地存储数据
  const data = localStorage.getItem('exam-data')
  const localArr = JSON.parse(data) || []
  // console.log(localArr)
  // 注册提交事件
  btnlogin.addEventListener('click', function (e) {
    e.preventDefault();
    const result = localArr.some(function (user) {
      // 验证返回值全为ture，则对比数据
      if (verifyAccount() && verifyPw() && verifyCode()) {
        // 用户输入值与本地数据比对
        return user.account === account.value && user.pw === pw.value
      }
    })

    if (result) {

      // 功能拓展：生成一个令牌（token）存储到本地，用于之后考试页面的信息填充
      const token = account.value
      localStorage.setItem('token', token)

      // 登录成功
      alert('登录成功')
      location.href = './personalCenter.html'
      // location.href = './examDescription.html' // 跳转到考试说明页面
    } else {
      alert('用户未注册，请先注册')
    }
  })
}

signIn()  // 调用登录功能

